/*
 * 版权所有 (C) 2021 中国南方航空股份有限公司。
 * 本文件可能包含有南方航空公司的机密或专有信息。
 * 未经许可不得擅自公开、复制这些机密资料及其中任何部分，
 * 只可按照其使用许可协议，在南方航空公司内部使用。
 *
 * File Name: $(#)ApproveStatusTypeHandler.java
 * Creation Date: 2021年10月28日 下午2:14:32
 * $Id$
 */
package com.andy.note.boot.config.mpjson;

import java.io.IOException;
import java.util.List;

import com.andy.note.boot.model.entity.doctor.ApproveStatus;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;

/**
 * <p>
 * DOCUMENTME <code>com.andy.note.boot.config.mpjson.ApproveStatusTypeHandler</code>类的说明
 * </p>
 * <p>
 * Function List:
 * <li>TODO 添加功能名称及描述</li>
 * </p>
 * <p>
 * Revision History:
 * <ul>
 * <li>2021年10月28日 90811 初始版本</li>
 * </ul>
 * </p>
 *
 * @author zhouguoan 908119428@qq.com
 * @version $Revision: 1.1 $ $Date: 2021年10月28日 下午2:14:32 $
 */
public class ApproveStatusTypeHandler extends JacksonTypeHandler {
    private static ObjectMapper OBJECT_MAPPER;
    
    public ApproveStatusTypeHandler(Class<?> type) {
        super(type);
        // TODO Auto-generated constructor stub
    }
    
    public static ObjectMapper getObjectMapper() {
        if (null == OBJECT_MAPPER) {
            OBJECT_MAPPER = new ObjectMapper();
        }
        return OBJECT_MAPPER;
    }
    
    @Override
    protected Object parse(String json) {
        try {
            return getObjectMapper().readValue(json, new TypeReference<List<ApproveStatus>>() {
            });
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

}
